VBMax 3D Effects DLL Copyright 1995-1996 Mike Stanley. All Rights Reserved VBMax - Visual Basic to the Max TABLE OF CONTENTS Description Version Information Version 1.2 Version 1.1 Registration Important-Use at Your Own Risk! Installation Frequently Asked Questions Technical Support Gronked Files Packing List How to use the DLL Methods Summary Properties Summary DESCRIPTION Add the 3D effects that Microsoft forgot to your VB 4.0 applications. Written entirely in VB 4.0, VBMax3D.dll is a fully functional in-process OLE server that provides you with a variety of 3D effects without the overhead of third-party controls. VBMax3D.dll is Windows 95 color-scheme aware and contains methods and properties for creating panels, borders, frames, lines, drop shadows, status bars, progress meters and many different types of text effects. When you register, you get the complete, fully-commented source code so you can see how it works and modify it any way you want to suit your own needs. Shareware: $5. The archive file is freely distributable. VERSION INFORMATION Version 1.2 Updated this documentation to include a Frequently Asked Questions section. Version 1.1 Changed the demo program by replacing the Windows common slider control with scroll bars because users of VB Standard Edition did not have COMCTL32.OCX. REGISTRATION This is a shareware utility which you can register for US $5 per copy. Send payment to: Mike Stanley 25 Lansdowne Street Manchester NH 03103 USA In return, I will give you a registration ID and an encryption key which will allow you to unlock the source code from the file 'VBMax3D Source Code.grk'. *Don't forget to include your Internet e-mail address.* Better still, also send me an e-mail to let me know that your registration is on the way. Any future updates to the software will use the same encryption key, so you can always get them at no additional cost. If you don't have an e-mail address, you can receive the registration ID and encryption key via snail-mail by sending me a postage-paid self-addressed envelope. IMPORTANT-USE AT YOUR OWN RISK! While every effort has been made to ensure a reliable, high-quality product, you should note that this software is provided 'as is' without any kind of warranty whatsoever, neither explicit nor implied. In order to use this software, you must agree 100% that I will not be held liable in any way, shape or form (not even a little bit) for anything untoward that befalls anyone or anything, either directly or indirectly, as a result of using this software no matter how calamitous, disastrous or inauspicious the occasion may be. Your use of this software constitutes acceptance of these terms. INSTALLATION Copy the files to a folder of your choice and edit Reg.bat so that it contains the correct path for the regsvr32.exe program that comes with VB 4.0. Please note that regsvr32.exe is not copied to your hard-drive automatically when you install VB - you can find it in the Tools\Pss folder on your VB CD. Run the edited Reg.bat which will update the Windows registry so that it knows about VBMax3D.dll. Go into VB, load the demo program and run it. If you want to use the DLL in your own programs, you have to add a reference to it as follows: From VB, select Tools from the menu. Then select References. Locate VBMax 3D Effects in the list and click the check box so that an X appears in it. Click OK. The OLE server is now visible in the Object Browser. FREQUENTLY ASKED QUESTIONS Q. I try to run your demo program but it keeps telling me that OLE cannot create the object. Why? A. You have not registered VBMax3D.dll with Windows. Please refer to the installation instructions above. Q. I have searched my hard-drive but cannot find regsvr32.exe - what's the scoop? A. Regsvr32.exe is not copied to your hard-drive automatically when you install VB - you can find it in the Tools\Pss folder on your VB CD. Q. Why don't you just create a regular installation program? A. One thing I don't like about VB 4 is the amount of extra baggage that must be included with the installation of even the simplest programs-this translates to long download times from online services. Seeing as VBMax3D.dll is meant for programmers who already have all the necessary software installed on their computers, I decided that manually installing the DLL was a fair tradeoff to racking up your online connect time. TECHNICAL SUPPORT Technical support is available via e-mail. Please send questions, comments, criticisms, etc. to 74632.2227@compuserve.com. GRONKED FILES These are encrypted files, created using the VBMax Gronk Meister, that contain one or more other files. In this case, the file 'VBMax3D Source Code.grk' contains the complete, commented VB 4.0 source code for VBMax3D.dll. The source files may be extracted using the included VBMax Degronker utility. Before you can do that, however, you need to know the encryption key. This key will be given to you when you register VBMax3D.dll. PACKING LIST Read Me.rtf/txt - The document you are reading. 3Ddemo.vbp (and related files) - Source code for demo program showing the DLL in action. Reg.bat - Registers the DLL with Windows (you have to edit the path). Unreg.bat - Unregisters the DLL with Windows (you have to edit the path). VBMax3D Source Code.grk - Source code for the DLL in gronked format. Degronker.exe - Utility to extract the source code from the gronked file. HOW TO USE THE DLL When you include a reference to VBMax3D.dll in VB as described earlier, you will have access to a class called cls3D. When you select this class using the Object Browser, you will see the methods and properties available to you. You can see a brief description of what each one does by clicking on them. In your application, you can create one or more objects from this class module. How many you choose depends on how many effects you want and whether or not they share the same attributes. For example, if you set the style property to gnRAISED, all effects that use this property will use the same style. If you want to use different styles you have two options: 1. Change the style property each time you use it. 2. Create different objects with different styles. It's your call-yer pays yer money and yer takes yer choice. Multiple objects all use the same code but keep their own copy of the variables. Objects are created from this class by using code like this: Dim mo3D As New cls3D. You create 3D effects by drawing regular 2D controls on a form and then passing them to methods in the object created by cls3D. These methods then create the desired 3D effect by drawing on the form at the location of the 2D control. The 2D controls act as place-holders for the resulting 3D effect and allow you to see what you are doing as you design your form. You can get a good idea of how the DLL works by examining the source code for the demo program. More detailed information is contained within the DLL source code. METHODS SUMMARY Object.Border Control Draws a border around a control. Control: Control around which border is to be drawn. Example: mo3D.Border Text1 Object.Caption Control [, FontSwitch] Draws text using a variety of 3D effects. Control: Label control used as place-holder and source for text. FontSwitch: Optional. If set, uses the font attributes of the Label control Settings: gnUSE_CONTROL_FONT Example 1: mo3D.Caption Label1 Example 2: mo3D.Caption Label1, gnUSE_CONTROL_FONT Object.DropShadow Control Draws a drop-shadow behind a control. Control: The control behind which the shadow is to be drawn. Example: mo3D.DropShadow Text1 Object.FormBorder Form Draws a border around the inside edge of a form. Form: The form on which to draw the border. Example: mo3D.FormBorder Me Object.Frame Control, Caption Draws a frame around a control. Control: Control around which frame is to be drawn. Caption: Frame caption. Example: mo3D.Frame picFrameColor, "Color" Object.Line3D Control Draws a 3D line. Control: Line control used as a place-holder. Example: mo3D.Line3D Line1 Object.Panel Control Converts a control to a panel. Control: Control used as place-holder for panel. Example: mo3D.Panel Shape1 Object.PercentMeter Control, Percent Converts a Label control to a percentage meter. Control: Label control used as a place-holder Percent: The percentage to display. Example: mo3D.PercentMeter lblStatus, 25 Object.StatusBar Control, Status Displays a message in a status bar. Control: Place-holder for status bar. Status: The message to be displayed. Example: mo3D.StatusBar lblStatus, "Connecting to network..." Properties Summary Object.Alignment = Alignment Specifies the justification of the caption in a frame. Alignment: One of the following: gnLEFT_JUSTIFY gnRIGHT_JUSTIFY gnCENTER Example: mo3D.Alignment = gnLEFT_JUSTIFY Object.Depth = Depth Object.Width = Width Control the appearance of panels and borders. Example 1: mo3D.Width = 5 Example 2: mo3D.Depth = 2 Object.FillColor = Color The color of the bar in the percentage meter. Example: mo3D.FillColor = vbBlue Object.FontBold = Boolean Object.FontItalic = Boolean Object.FontName = FontName Object.FontSize = FontSize Object.FontStrikethru = Boolean Object.FontUnderline = Boolean Specifies the font attributes for 3D text effects. Example 1: mo3D.FontName = cboFontNames.Text Example 2: mo3D.FontSize = 10 Example 3: mo3D.FontBold = True Example 4: mo3D.FontItalic = True Example 5: mo3D.FontStrikethru = False Example 6: mo3D.FontUnderline = False Object.ForeColor = ForeColor Specifies the color to be used for the text. ForeColor: Color value Example: mo3D.ForeColor = vbBlue Object.Offset = Offset The distance between a control and its drop shadow. Example: mo3D.Offset = 5 Object.Shadow = Shadow Specifies whether to use light or dark shadows on various 3D effects. Shadow: One of the following: gnLIGHT_SHADOW Use light shadows gnDARK_SHADOW Use dark shadows Example: mo3D.Shadow = gnLIGHT_SHADOW Object.ShowPercent = Boolean Specifies whether or not to show the numbers on the percentage meter. Example: mo3D.ShowPercent = True Object.SolidMeter = Boolean Specifies whether or not to show the percentage meter as a solid bar. Example: mo3D.SolidMeter = True Object.Style = Effect Specifies the type of 3D effect. Effect: One of the following : gnNORMAL No 3D effect. gnRAISED Creates a raised 3D look. gnRECESSED Gives a recessed 3D look. gnEMBOSSED_RAISED Gives text a raised embossed look. gnEMBOSSED_RECESSED Gives text a recessed embossed look. gnFLOATING Makes text look like its floating over the form. gnOUTLINE_RIGHT Shows only the right edges of the text. gnOUTLINE_LEFT Shows only the left edges of the text gnPROJECTED Displays raised text from a different perspective. Example: mo3D.Style = gnRAISED Mike Stanley 25 Lansdowne Street Manchester New Hampshire USA E-Mail: 74632.2227@compuserve.com